package com.jielihaofeng.nio.bytebuffer;

import java.nio.ByteBuffer;

import static com.jielihaofeng.nio.bytebuffer.ByteBufferUtil.debugAll;

/**
 * @description
 * @author Johnnie Wind
 * @date 2021/10/1 20:30
 */
public class TestByteBufferRead {

    public static void main(String[] args) {
        ByteBuffer buffer = ByteBuffer.allocate(10);
        buffer.put(new byte[]{'a','b','c','d'});
        buffer.flip();

        // 从头开始读
//        buffer.get(new byte[4]);
//        debugAll(buffer);
//        buffer.rewind();
//        System.out.println((char) buffer.get());
//        debugAll(buffer);

        // mark & reset
        // mark 做一个标记，记录 position 位置， reset 是将 position 重置列 mark 的位置
//        System.out.println((char) buffer.get());
//        System.out.println((char) buffer.get());
//        buffer.mark();
//        System.out.println((char) buffer.get());
//        System.out.println((char) buffer.get());
//        buffer.reset();
//        System.out.println((char) buffer.get());
//        System.out.println((char) buffer.get());

        // get(i) 不会改变读写位置
        System.out.println((char)buffer.get(3));
        debugAll(buffer);
    }

}
